package bo;

import java.sql.ResultSet;
import java.sql.SQLException;

import visao.EmitirCupomFiscal;

import dao.DAO_Venda;
import dto.DTO_Produto;
import dto.DTO_Usuario;
import dto.DTO_Venda;
import dto.DTO_VendaProduto;

public class BO_Venda {

	public static ResultSet emitirRelatorioVenda(boolean[] filtros, String[] campos) throws SQLException, ClassNotFoundException{
		return DAO_Venda.emitirRelatorioVenda(filtros, campos);
	}
	
	public static void verificaTabelaVenda() throws SQLException, ClassNotFoundException{
		DAO_Venda.verificaTabelaVenda();
	}
	
	public static void emitirCupomFiscal(DTO_Venda venda, DTO_VendaProduto[] vendaProduto, DTO_Usuario vendedor){
		new EmitirCupomFiscal(venda, vendaProduto, vendedor);
	}
	
	public static void realizaVenda(DTO_Usuario vendedor, double valorVenda, double valorPago) throws SQLException, ClassNotFoundException{
		DAO_Venda.realizaVenda(vendedor, valorVenda, valorPago);
	}
	
	public static void registraVendaProduto(DTO_Produto[] produtos, int[] quantidades) throws SQLException, ClassNotFoundException{
		DAO_Venda.registraVendaProduto(produtos, DAO_Venda.retornaUltimaVenda(), quantidades);
	}
	
	public static DTO_Venda retornaVenda(int vendaID) throws SQLException, ClassNotFoundException{
		return DAO_Venda.retornaVenda(new DTO_Venda(vendaID, 0, 0.0, 0.0, 0.0, ""));
	}
	
	public static DTO_VendaProduto[] retornaVendaProduto(DTO_Venda venda) throws SQLException, ClassNotFoundException{
		return DAO_Venda.retornaVendaProduto(venda);
	}
	
	public static int retornaUltimaVenda() throws SQLException, ClassNotFoundException{
		return DAO_Venda.retornaUltimaVenda();
	}
	
	public static DTO_Produto[] retornaProdutosVendidos(int vendaID) throws SQLException, ClassNotFoundException{
		return DAO_Venda.retornaProdutosVendidos(vendaID);
	}
	
	public static int[] retornaQuantidadesVendidas(DTO_Produto[] produtos, int vendaID) throws SQLException, ClassNotFoundException{
		return DAO_Venda.retornaQuantidadesPorProduto(produtos, vendaID);
	}
}
